/*********************\
* Author:Dzlua
* QQ:505544956
* Time:2017/04/15
\**********************/
#ifndef __LUA_COMBO_H__
#define __LUA_COMBO_H__
#pragma once

#include "../../Core/LuaContainer.h"

namespace DuiLib {

class LuaCombo : public LuaContainer
{
    SDLUA_CLASS_DECLARE(LuaCombo);

    int GetText(LuaState *L);
    void SetEnabled(bool bEnable);

    void SetTextStyle(UINT uStyle);
    UINT GetTextStyle();
    void SetTextColor(DWORD dwTextColor);
    DWORD GetTextColor();
    void SetDisabledTextColor(DWORD dwTextColor);
    DWORD GetDisabledTextColor();
    void SetFont(int index);
    int GetFont();
    int GetTextPadding(LuaState *L);
    int SetTextPadding(LuaState *L);
    bool IsShowHtml();
    void SetShowHtml(bool bShowHtml);

    int GetDropBoxAttributeList(LuaState *L);
    int SetDropBoxAttributeList(LuaState *L);
    int GetDropBoxSize(LuaState *L);
    int SetDropBoxSize(LuaState *L);

    UINT GetListType();
    //TListInfoUI* GetListInfo();
    int GetCurSel();  
    int SelectItem(LuaState *L);
    int SelectMultiItem(LuaState *L);
    int UnSelectItem(LuaState *L);
    int SetItemIndex(LuaState *L);

    int Add(LuaState *L);
    int AddAt(LuaState *L);
    int Remove(LuaState *L);
    bool RemoveAt(int iIndex);
    void RemoveAll();

    bool Activate();

    int GetNormalImage(LuaState *L);
    int SetNormalImage(LuaState *L);
    int GetHotImage(LuaState *L);
    int SetHotImage(LuaState *L);
    int GetPushedImage(LuaState *L);
    int SetPushedImage(LuaState *L);
    int GetFocusedImage(LuaState *L);
    int SetFocusedImage(LuaState *L);
    int GetDisabledImage(LuaState *L);
    int SetDisabledImage(LuaState *L);

    bool GetScrollSelect();
    void SetScrollSelect(bool bScrollSelect);
    
    void SetItemFont(int index);
    void SetItemTextStyle(UINT uStyle);
    int GetItemTextPadding(LuaState *L);
    int SetItemTextPadding(LuaState *L);
    DWORD GetItemTextColor();
    void SetItemTextColor(DWORD dwTextColor);
    DWORD GetItemBkColor();
    void SetItemBkColor(DWORD dwBkColor);
    int GetItemBkImage(LuaState *L);
    int SetItemBkImage(LuaState *L);
    bool IsAlternateBk();
    void SetAlternateBk(bool bAlternateBk);
    DWORD GetSelectedItemTextColor();
    void SetSelectedItemTextColor(DWORD dwTextColor);
    DWORD GetSelectedItemBkColor();
    void SetSelectedItemBkColor(DWORD dwBkColor);
    int GetSelectedItemImage(LuaState *L);
    int SetSelectedItemImage(LuaState *L);
    DWORD GetHotItemTextColor();
    void SetHotItemTextColor(DWORD dwTextColor);
    DWORD GetHotItemBkColor();
    void SetHotItemBkColor(DWORD dwBkColor);
    int GetHotItemImage(LuaState *L);
    int SetHotItemImage(LuaState *L);
    DWORD GetDisabledItemTextColor();
    void SetDisabledItemTextColor(DWORD dwTextColor);
    DWORD GetDisabledItemBkColor();
    void SetDisabledItemBkColor(DWORD dwBkColor);
    int GetDisabledItemImage(LuaState *L);
    int SetDisabledItemImage(LuaState *L);
    DWORD GetItemLineColor();
    void SetItemLineColor(DWORD dwLineColor);
    bool IsItemShowHtml();
    void SetItemShowHtml(bool bShowHtml);

    int EstimateSize(LuaState *L);
    int SetPos(LuaState *L);
    int Move(LuaState *L);
};

}

#endif //__LUA_COMBO_H__